<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Terminal</title>
</head>

<body bgcolor="FFFFFF">

<h1><img align="center" height="32" width="32" src="../../../icons/tty.gif">
<em>Terminal</em></h1>

<p><table>
<tr><td><strong>Bibliothek:</strong></td>
	<td><a href="index.html">Input/Output</a></td></tr>
<tr><td><strong>Eingeführt:</strong></td>
	<td>2.2.0</td></tr>
<tr><td valign="top"><strong>Aussehen:</strong></td>
	<td valign="top"><img src="../../../img-libs/tty.png"></td></tr>
</table></p>

<h2>Verhalten</h2>

<p>This component implements a very simple dumb terminal. It receives a sequence
of ASCII codes and displays each printable character. When the current row
becomes full, the cursor moves to the following line, possibly scrolling all
current rows up if the cursor was already in the bottom row. The only supported
control sequences are: backspace (ASCII 8), which deletes the last character in
the final row, unless the final row is already empty; newline (ASCII 10), which
moves the cursor to the beginning of the following line, scrolling if necessary;
and form-feed (ASCII 12, typed as control-L), which clears the screen.</p>

<h2>Pins</h2>

<dl>

<dt>West edge, upper pin (input, bit width 7)</dt>
<dd>Data - this is the ASCII value of the next character to be entered into
the terminal.</dd>

<dt>West edge, lower pin marked by triangle (input, bit width 1)</dt>
<dd>Clock - when triggered while the write-enable pin isn't 0, the 
current ASCII value on the Data input is processed by the terminal.</dd>

<dt>South edge, leftmost pin (input, bit width 1)</dt>
<dd>Write Enable - when 1 (or floating or error), a clock edge will result
in processing a new character from the data input. The clock and data inputs are
ignored when Write Enable is 0.</dd>

<dt>South edge, second pin from left (input, bit width 1)</dt>
<dd>Clear - when 1, the terminal is cleared of all data, and all other inputs
are ignored.</dd>

</dl>

<h2>Attribute</h2>

<dl>

<dt>Rows</dt>
<dd>The number of rows displayed in the terminal.</dd>

<dt>Columns</dt>
<dd>The maximum number of characters displayed in each row of terminal.</dd>

<dt>Trigger</dt>
<dd>If the value is <q>Rising Edge,</q> then when the clock input changes
from 0 to 1, the data input is processed (when enabled by the write-enable
and clear inputs).
If it is <q>Falling Edge,</q>, then this happens when the
clock input changes from 1 to 0.</dd>

<dt>Color</dt>
<dd>The color with which to draw the text appearing in the terminal.</dd>

<dt>Background</dt>
<dd>The color with which to draw the terminal's background.</dd>

</dl>

<h2>Verhalten des Schaltwerkzeugs</h2>

<p>Keines.</p>

<h2>Verhalten des Textwerkzeugs</h2>

<p>Keines.</p>

<p><a href="../index.html">Zurück zur <em>Bibliotheksreferenz</em></a></p>

</body>
</html>
